package boot.spring.service;

import boot.spring.model.entity.Intersection;

import java.util.List;

public interface IntersectionService {

    /**
     * 根据矩形范围查询路口
     *
     * @param minX 最小经度
     * @param minY 最小纬度
     * @param maxX 最大经度
     * @param maxY 最大纬度
     * @return 范围内的路口列表
     */
    List<Intersection> getIntersectionsByBbox(double minX, double minY, double maxX, double maxY);

    /**
     * 根据点和半径查询附近路口
     *
     * @param lng    经度
     * @param lat    纬度
     * @param radius 半径(米)
     * @return 附近的路口列表
     */
    List<Intersection> getNearbyIntersections(double lng, double lat, double radius);

    /**
     * 根据多边形WKT查询路口
     *
     * @param polygonWkt 多边形WKT字符串
     * @return 多边形内的路口列表
     */
    List<Intersection> getIntersectionsByPolygon(String polygonWkt);
}